Node.js এর সাথে MongoDB সংযোগ করা (Mongoose)

Computer Programming - নোড জেএস (Node.js) - Database Integration (ডেটাবেস ইন্টিগ্রেশন)
263

MongoDB হল একটি NoSQL ডাটাবেস যা ডকুমেন্ট-ওরিয়েন্টেড ডেটা স্টোরেজ ব্যবস্থাপনা প্রদান করে। MongoDB সাধারণত ডাটা শেপ, স্কেল এবং কর্মক্ষমতার জন্য ব্যবহৃত হয়, বিশেষত ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে। Mongoose হল একটি MongoDB Object Data Modeling (ODM) লাইব্রেরি, যা MongoDB এর সাথে Node.js অ্যাপ্লিকেশনকে সহজে সংযোগ করতে সাহায্য করে।

Mongoose MongoDB ডাটাবেসের সাথে কাজ করার জন্য একটি সরল এবং শক্তিশালী API প্রদান করে, যা MongoDB ডাটাবেস অপারেশনকে আরও সহজ এবং কাঠামোবদ্ধ করে তোলে।


১. MongoDB ইনস্টলেশন

MongoDB প্রথমে ইনস্টল করা থাকতে হবে। আপনি MongoDB ডাউনলোড এবং ইনস্টল করতে পারেন নিচের লিঙ্ক থেকে:

আপনি MongoDB Atlas ব্যবহার করেও ক্লাউডে MongoDB ব্যবহার করতে পারেন, যদি আপনি লোকাল ইনস্টল না করতে চান। MongoDB Atlas MongoDB এর একটি ক্লাউড সেবা যা ডাটাবেস হোস্টিং এবং পরিচালনা সহজ করে তোলে।


২. Mongoose ইনস্টলেশন

Node.js এর সাথে MongoDB সংযোগ করার জন্য Mongoose লাইব্রেরি ব্যবহার করা হয়। প্রথমে, আপনার প্রজেক্টে Mongoose ইনস্টল করুন:

npm install mongoose

এটি আপনার প্রজেক্টের node_modules ফোল্ডারে Mongoose ইনস্টল করবে এবং package.json ফাইলে ডিপেনডেন্সি হিসেবে যুক্ত করবে।


৩. MongoDB এবং Mongoose এর মাধ্যমে সংযোগ স্থাপন

এখন, আপনি MongoDB এবং Mongoose ব্যবহার করে একটি সংযোগ তৈরি করতে পারেন। নিচে একটি সিম্পল উদাহরণ দেওয়া হলো:

app.js (Mongoose সংযোগ উদাহরণ)

const mongoose = require('mongoose');

// MongoDB URI (MongoDB Atlas বা লোকাল MongoDB URI ব্যবহার করতে পারেন)
const mongoURI = 'mongodb://localhost:27017/mydatabase'; // লোকাল MongoDB

// Mongoose এর মাধ্যমে MongoDB এর সাথে সংযোগ স্থাপন
mongoose.connect(mongoURI, {
  useNewUrlParser: true,
  useUnifiedTopology: true
})
.then(() => {
  console.log('MongoDB Connected!');
})
.catch(err => {
  console.log('MongoDB connection error:', err);
});

ব্যাখ্যা:

  • mongoose.connect(): এই মেথডটি MongoDB ডাটাবেসের সাথে সংযোগ স্থাপন করে। এখানে mongoURI হল MongoDB এর URI, যা MongoDB সার্ভারকে নির্দেশ করে।
  • useNewUrlParser এবং useUnifiedTopology: এই দুটি অপশন MongoDB ক্লায়েন্টের নতুন পদ্ধতি ব্যবহার করতে সক্ষম করে এবং deprecated warnings থেকে মুক্তি দেয়।
  • সংযোগ সফল হলে, then() ব্লকটি কার্যকর হবে, এবং কোন সমস্যা থাকলে, catch() ব্লকটি কাজ করবে।

৪. Mongoose Schema এবং Model তৈরি করা

MongoDB ডাটাবেসে ডেটা সংরক্ষণ করতে, আমরা Mongoose এর Schema এবং Model ব্যবহার করি।

Schema এবং Model উদাহরণ

const mongoose = require('mongoose');

// Schema তৈরি করা
const userSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true
  },
  email: {
    type: String,
    required: true,
    unique: true
  },
  age: {
    type: Number,
    min: 18
  }
});

// Model তৈরি করা
const User = mongoose.model('User', userSchema);

// একটি নতুন ডকুমেন্ট ইনসার্ট করা
const newUser = new User({
  name: 'John Doe',
  email: 'john.doe@example.com',
  age: 25
});

newUser.save()
  .then(user => {
    console.log('User saved:', user);
  })
  .catch(err => {
    console.log('Error saving user:', err);
  });

ব্যাখ্যা:

  • Schema: এটি MongoDB ডাটাবেসের জন্য একটি কাঠামো তৈরি করে, যেখানে আপনি প্রতিটি ফিল্ডের ধরন (data type) এবং তার বৈশিষ্ট্যগুলো নির্ধারণ করেন (যেমন required, unique, min, ইত্যাদি)।
  • Model: Model হল MongoDB এর একটি কনস্ট্রাক্ট, যা Schema ব্যবহার করে ডেটা ইনসার্ট, আপডেট, ডিলিট এবং ফাইন্ড করতে ব্যবহৃত হয়। এখানে User একটি Model যা userSchema এর উপর ভিত্তি করে তৈরি করা হয়েছে।
  • save(): এই ফাংশনটি MongoDB ডাটাবেসে নতুন ডকুমেন্ট সংরক্ষণ করতে ব্যবহৃত হয়।

৫. ডেটা খোঁজা (Find Data)

Mongoose এর মাধ্যমে MongoDB ডাটাবেস থেকে ডেটা খোঁজা সহজ। নিচে find() মেথড ব্যবহার করে ডেটা খোঁজার একটি উদাহরণ দেওয়া হলো:

// সব ইউজার খোঁজা
User.find()
  .then(users => {
    console.log('Users found:', users);
  })
  .catch(err => {
    console.log('Error finding users:', err);
  });

// একটি নির্দিষ্ট ইমেইল দিয়ে ইউজার খোঁজা
User.findOne({ email: 'john.doe@example.com' })
  .then(user => {
    console.log('User found:', user);
  })
  .catch(err => {
    console.log('Error finding user:', err);
  });

ব্যাখ্যা:

  • find(): এটি MongoDB থেকে সমস্ত ডকুমেন্ট ফেচ করে। আপনি এটি দিয়ে নির্দিষ্ট শর্ত পূরণকারী ডেটা খুঁজে বের করতে পারেন।
  • findOne(): এটি একটি নির্দিষ্ট শর্ত পূরণকারী একক ডকুমেন্ট ফিরিয়ে দেয়।

৬. ডেটা আপডেট এবং ডিলিট করা

ডেটা আপডেট করা:

User.updateOne({ email: 'john.doe@example.com' }, { $set: { age: 30 } })
  .then(result => {
    console.log('User updated:', result);
  })
  .catch(err => {
    console.log('Error updating user:', err);
  });

ডেটা মুছে ফেলা:

User.deleteOne({ email: 'john.doe@example.com' })
  .then(result => {
    console.log('User deleted:', result);
  })
  .catch(err => {
    console.log('Error deleting user:', err);
  });

সারাংশ

Mongoose হল একটি MongoDB Object Data Modeling (ODM) লাইব্রেরি যা Node.js অ্যাপ্লিকেশনের সাথে MongoDB সংযোগ স্থাপন এবং ডেটা পরিচালনার জন্য ব্যবহৃত হয়। এটি MongoDB ডেটাবেসের জন্য একটি সহজ, শক্তিশালী API প্রদান করে এবং MongoDB এর সাথে কাজ করার জন্য Schema এবং Model ব্যবহার করে ডেটা ম্যানেজমেন্টের প্রক্রিয়াকে সহজ ও কাঠামোবদ্ধ করে তোলে। Mongoose ব্যবহার করে আপনি MongoDB ডেটাবেসের সাথে সহজে সংযোগ স্থাপন, ডেটা ইনসার্ট, আপডেট, ডিলিট এবং খুঁজে বের করতে পারেন।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...